package com.hwg.emp.dao;

 
import java.util.List;
import java.util.Map;

import com.hwg.emp.common.dao.CommonDAO;
import com.hwg.emp.common.dto.KeysQueryDto;
import com.hwg.emp.dto.AskoffDto;
import com.hwg.emp.dto.OvertimeDto;
import com.hwg.emp.dto.PageBean;
import com.hwg.emp.model.OvertimeMD;

public interface OvertimeDAO extends CommonDAO<OvertimeMD> {
		
	/**
	 * 查询个人加班记录
	 * @param dto 分页查询条件对象
	 * @param pageData  分页数据
	 * @return 每一页的查询条数
	 * @throws Exception
	 */
	public int selectOvertimeByKey(KeysQueryDto dto,List<OvertimeMD> pageData) throws Exception;
		
	
	/**
	 * 查询所有员工加班记录信息
	 * @param deptId 部门id
	 * @param pageBean 分页
	 * @return  所有员工加班记录信息（员工名字，员工加班开始时间、加班原因、加班天数）
	 * @throws Exception
	 */
	public List<OvertimeDto> selectEmpOvertime(String deptId,PageBean pageBean) throws Exception; 
	/**
	 * 增加员工加班记录
	 * @return 若增加成功，则为true，反之为false
	 * @throws Exception
	 */
	public boolean addEmpOvertime(OvertimeDto overtimeDto) throws Exception;
	/**
	 * 删除员工加班记录
	 * @param overtimeDtoId 被选中的加班记录的ID
	 * @return 若删除成功，则为true，反之为false
	 * @throws Exception
	 */
	public boolean deleteEmpOvertime(String overtimeDtoId) throws Exception;

	/**
	 * 统计某个部门下所有员工加班记录信息数
	 * @param deptId 部门id
	 * @return 某个部门所有员工加班记录信息数
	 * @throws Exception
	 */
	public int selectEmpOvertime(String deptId) throws Exception;
}
